package com.micro.school.system.api.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.micro.school.common.core.annotation.Excel;
import com.micro.school.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.ToString;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


/**
 * 【请填写功能名称】对象Vo
 * 
 * @author rakic
 * @date 2025-08-05
 */
@Data
@ToString
public class StudentInfoVos extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 学生名称 */
    @Excel(name = "学生名称")
    private String name;

    /** 性别0女1男 */
    private Long sex;

    @Excel(name = "性别")
    private String sexType;

    /** 身份证号 */
    @Excel(name = "身份证号")
    private String idNumber;

    /** 学校id */
    private Long schoolId;

    /** 学校名称 */
    private String schoolName;

    /** 学院id */
    private Long collegeId;

    /** 学院名称 */
    @Excel(name = "学院名称")
    private String collegeName;

    /** 学历 */
    @Excel(name = "模式")
    private String education;

    /** 专业id */
    private Long majorId;

    /** 专业名称 */
    @Excel(name = "专业名称")
    private String majorName;

    /** 年级id */
    private Long gradeId;

    /** 年级名称 */
    @Excel(name = "年级名称")
    private String gradeName;

    /** 班级id */
    private Long classId;

    /** 班级名称 */
    @Excel(name = "班级名称")
    private String className;

    /** 学制 */
    @Excel(name = "学制(年)")
    private String schoolSystem;

    /** 报名时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报名时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date signTime;

    /** 报名状态0预报名成功1已完善信息2已取消报名 */
    private Long signStatus;

    /** 报名状态0预报名成功1已完善信息2已取消报名 */
    @Excel(name = "报名状态")
    private String signStatusType;

    /** 学生状态0未入学1在校2休学3请假4退学5毕业 */
    private Long graduate;

    @Excel(name = "学生状态")
    private String graduateType;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String phone;

    /** 退学原因 */
    @Excel(name = "退学原因")
    private String outMsg;

    /** 退学日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退学日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date outDate;

    /** 0未封存1已封存 */
    private Long sealStatus;

    /** 封存时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date sealTime;

    /** 批量操作id */
    private List<Long> ids;

    private Integer tenantId;

    private String startDate;

    private String endDate;

    private Long educationId;

    private int isDel;

    private int compusId;

    private String branchName;

    /** 缴费金额 */
    private BigDecimal money;

    /** 退费金额 */
    private BigDecimal refundMoney;

    /** 自主缴费 */
    private BigDecimal selfMoney;

    private String collegeIdList;

    private String appId;

    private String openId;




}
